package cn.yuanqiao.cqbc.danganback.mapper;

import cn.yuanqiao.cqbc.danganback.domain.YQDaBak;
import cn.yuanqiao.cqbc.danganback.param.RestoreRecords;
import cn.yuanqiao.cqbc.danganback.param.YQDaBackLogParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @ProjectName: cn.yuanqiao.cqbc.danganback.mapper
 * @ClassName: YqDabakMapper
 * @Author: lenovo
 * @Description: hbWang
 * @Date: 2024/6/14 11:20
 * @Version: 1.0
 **/
public interface YqDabakMapper {
    /**
     * 查询数据库备份管理
     *
     * @param bakId 数据库备份管理主键
     * @return 数据库备份管理
     */
    public YQDaBak selectYqDabakByBakId(String bakId);

    public YQDaBak selectYqDabakByBakIdOne(@Param("bakId") Long bakId,@Param("isDelete") String isDelete);

    List<Map<String, Object>> loadSysDictByCode(@Param("code") String code);

    List<Map<String, Object>> getLogDataList(@Param("param") YQDaBackLogParam param, @Param("bakName")String bakName, @Param("tenantCode")String tenantCode);

    List<Map<String, Object>> getLogData(@Param("baklogId") Long baklogId);


    /**
     * 查询数据库备份管理列表
     *
     * @param yqDabak 数据库备份管理
     * @return 数据库备份管理集合
     */
    public List<YQDaBak> selectYqDabakList(YQDaBak yqDabak);

    /**
     * 新增数据库备份管理
     *
     * @param yqDabak 数据库备份管理
     * @return 结果
     */
    public int insertYqDabak(YQDaBak yqDabak);

    void insertRestoreRecords(@Param("param") RestoreRecords restoreRecords);

    /**
     * 修改数据库备份管理
     *
     * @param yqDabak 数据库备份管理
     * @return 结果
     */
    public int updateYqDabak(YQDaBak yqDabak);

    /**
     * 删除数据库备份管理
     *
     * @param bakId 数据库备份管理主键
     * @return 结果
     */
    public int deleteYqDabakByBakId(String bakId);

    /**
     * 批量删除数据库备份管理
     *
     * @param bakIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqDabakByBakIds(String[] bakIds);
}
